Computer systems can be attacked and crashed when they receive malicious code. A common attack is to send the computer system code that can't be executed or processed (such as code that causes the computer processing to fall into an infinite loop, or code that is otherwise provided in an invalid format).
Traditionally, computer systems look to see whether the code they receive in incoming requests is: (i) “authentic” and (ii) “authorized”. Determining whether the code is “authentic” involves determining whether the code is sent from a recognized source (i.e. determining who is sending the incoming request). Determining whether the code is “authorized” involves determining whether the person or entity sending the request is actually permitted to make this request of the system.
Traditionally, internet security has been accomplished by making sure that an incoming request is both authentic and authorized. (i.e.: determining who is sending this request and whether they are authorized to ask for what they're asking for). But one major weakness remains. If the code/request that is initially received is in an invalid format, the computer system can be crashed prior to the system even analyzing whether the request is authentic or authorized. Security systems do exist that validate code (i.e.: determine if it is in a proper format for processing prior to actually processing it). However, this validation step simply adds a third step onto the front end of the system as the code must be separately validated and then authenticated and then authorized. This third (validation) step expends considerable computer resources.
What is instead desired is a system in which validation, authentication and authorization could all be achieved, but not as three computationally separate steps that each separately consume valuable computer resources.
To date, standard “cloud” computing is simply separating application processing into separate remote locations. What is instead desired is “green” computing in which the total amount of energy used in actually processing a software (or hardware) application is reduced. This reduction in energy is best achieved by reducing the total amount of calculations performed in carrying out the software applications. As will be explained herein, the present invention advantageously reduces the total amount of calculations performed in carrying out software applications. In addition, the present invention avoids the problem of application specific servers sitting powered up and idle waiting to process incoming user requests. As will be explained, this is done in part by using servers that are not application specific. Thus, the present invention permits true “green” (i.e.: energy saving) computing.